package com.example.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.example.entity.DishComment;
import java.util.List;

public interface DishCommentService extends IService<DishComment> {
    
    /**
     * 获取菜品的评价列表
     * @param dishId 菜品ID
     * @return 评价列表
     */
    List<DishComment> getCommentsByDishId(Long dishId);
    
    /**
     * 获取学生的评价列表
     * @param studentId 学生ID
     * @return 评价列表
     */
    List<DishComment> getCommentsByStudentId(Long studentId);
    
    /**
     * 添加评价
     * @param comment 评价信息
     * @return 是否成功
     */
    boolean addComment(DishComment comment);
    
    /**
     * 更新评价
     * @param comment 评价信息
     * @return 是否成功
     */
    boolean updateComment(DishComment comment);
    
    /**
     * 删除评价
     * @param id 评价ID
     * @return 是否成功
     */
    boolean deleteComment(Long id);
    
    /**
     * 审核评价
     * @param id 评价ID
     * @param status 审核状态：1-通过，2-拒绝
     * @return 是否成功
     */
    boolean reviewComment(Long id, Integer status);
    
    /**
     * 点赞评价
     * @param id 评价ID
     * @return 是否成功
     */
    boolean likeComment(Long id);
    
    /**
     * 获取菜品的平均评分
     * @param dishId 菜品ID
     * @return 平均评分
     */
    double getAverageRating(Long dishId);

    boolean updateStatus(Long id, Integer status);
} 